package com.coderxq.blog.web.dao;

import com.coderxq.blog.web.entity.dto.RoleMenuList;
import com.coderxq.blog.web.entity.pojo.Menu;
import com.coderxq.blog.web.entity.pojo.Role;
import com.coderxq.blog.web.entity.pojo.RoleMenu;
import com.coderxq.blog.web.entity.vo.RoleInfoVo;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.ArrayList;

@Repository
public interface RoleMapper {
    int insertRole(Role role);

    int insertUserRoles(@Param("roles") ArrayList<Role> roles,@Param("userId") String userId);

    int deleteRole(String roleId);

    int updateRole(String roleId, String roleName);

    ArrayList<Role> getAllRoleList();

    Role findRoleById(String roleId);

    int insertRoleMenu(RoleMenu roleMenu);

    int insertRoleMenus(RoleMenuList roleMenus);

    int deleteRoleMenu(String roleId, String menuId);

    int deleteRoleAllMenu(String roleId);

    int deleteMenus(@Param("menuIds") ArrayList<Menu> menuIds);

    RoleInfoVo findRoleMenuList(String roleId);
}
